// 目的是使用 new() 方法创建一个 className 类的实例化对象，代替 new className(参数) 的方法
// 创建新对象：首先通过const obj = {}创建一个空对象。
// 设置原型链：使用Object.setPrototypeOf(obj, constructor.prototype)将新对象的原型链接到构造函数的prototype，这样新对象就能继承构造函数原型上的方法和属性。
// 执行构造函数：通过constructor.apply(obj, args)调用构造函数，并将this绑定到新创建的对象上，同时传入参数。这一步会执行构造函数中的所有初始化代码。
// 返回新对象：最后直接返回这个已经初始化的对象。
const _new = function (constructor, ...args) {
  const obj = {};
  Object.setPrototypeOf(obj, constructor.prototype);
  constructor.apply(obj, args);
  return obj;
};
